﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Common;

namespace AutoFix.Interfaces
{

    /// <summary>
    /// Contract for Master page which enable access for public members from ASP.NET pages.
    /// </summary>
    interface IMaster
    {
        #region [Public Properties]

        /// <summary>
        /// Gets or sets a value indicating whether [is login page].
        /// </summary>
        /// <value>
        ///   <c>true</c> if [is login page]; otherwise, <c>false</c>.
        /// </value>
        bool IsLoginPage { get; }

        /// <summary>
        /// Gets or sets a value indicating whether [is anonymous page].
        /// </summary>
        /// <value>
        ///   <c>true</c> if [is anonymous page]; otherwise, <c>false</c>.
        /// </value>
        bool IsAnonymousPage { get; }

        #endregion

        #region [Public Methods]

        /// <summary>
        /// Initializes the security policy.
        /// </summary>
        /// <param name="isLoginPage">if set to <c>true</c> [is login page].</param>
        /// <param name="isAnonymousPage">if set to <c>true</c> [is anonymous page].</param>
        /// <param name="pageName">the name of the page</param>
         /// <param name="userTypes">the user types</param>
        void InitializeSecurityPolicy(bool isLoginPage, bool isAnonymousPage, string pageName, List<UserType> userTypes);

        #endregion
    }
}